/*    */ package com.zimbra.cs.mailbox;
/*    */ 
/*    */ import java.util.Date;
/*    */ import java.util.HashMap;
/*    */ import java.util.Map;
/*    */ import java.util.Set;
/*    */ import java.util.concurrent.Callable;
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ public abstract class ScheduledTask<V>
/*    */   implements Callable<V>
/*    */ {
/*    */   private int mMailboxId;
/* 29 */   private Map<String, String> mProperties = new HashMap();
/*    */   
/*    */ 
/*    */   private long mIntervalMillis;
/*    */   
/*    */   private Date mExecTime;
/*    */   
/*    */ 
/*    */   public abstract String getName();
/*    */   
/*    */ 
/*    */   public int getMailboxId()
/*    */   {
/* 42 */     return this.mMailboxId;
/*    */   }
/*    */   
/* 45 */   public void setMailboxId(int mailboxId) { this.mMailboxId = mailboxId; }
/*    */   
/*    */ 
/*    */ 
/*    */   public Date getExecTime()
/*    */   {
/* 51 */     return this.mExecTime;
/*    */   }
/*    */   
/* 54 */   public void setExecTime(Date execTime) { this.mExecTime = execTime; }
/*    */   
/*    */ 
/*    */ 
/*    */ 
/*    */   public long getIntervalMillis()
/*    */   {
/* 61 */     return this.mIntervalMillis;
/*    */   }
/*    */   
/* 64 */   public void setIntervalMillis(long intervalMillis) { this.mIntervalMillis = intervalMillis; }
/*    */   
/*    */ 
/*    */ 
/*    */   public boolean isRecurring()
/*    */   {
/* 70 */     return this.mIntervalMillis > 0L;
/*    */   }
/*    */   
/*    */ 
/*    */   public String getProperty(String key)
/*    */   {
/* 76 */     return (String)this.mProperties.get(key);
/*    */   }
/*    */   
/*    */ 
/*    */ 
/*    */   public void setProperty(String key, String value)
/*    */   {
/* 83 */     this.mProperties.put(key, value);
/*    */   }
/*    */   
/*    */ 
/*    */ 
/*    */   public Set<String> getPropertyNames()
/*    */   {
/* 90 */     return this.mProperties.keySet();
/*    */   }
/*    */   
/*    */   public String toString() {
/* 94 */     return String.format("%s: { name=%s, mailboxId=%d, execTime=%s, intervalMillis=%d }", new Object[] { getClass().getSimpleName(), getName(), Integer.valueOf(this.mMailboxId), this.mExecTime, Long.valueOf(this.mIntervalMillis) });
/*    */   }
/*    */ }


/* Location:              /home/mint/zimbrastore.jar!/com/zimbra/cs/mailbox/ScheduledTask.class
 * Java compiler version: 7 (51.0)
 * JD-Core Version:       0.7.1
 */